/**
 * 
 */
package org.crud4j.core.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Label that describes the instance. It's an expression that provides a String
 * representation of the instance targeted to the crud view. The expression is
 * parsed by jexl, and the given bean is included in the jexl context under the
 * key “bean”, thus the following expression means that the string that should
 * represent the object in the screen is the name field of the given bean.
 * 
 * @CRUDInstanceLabel(value = "bean.name")
 * 
 * @author Edgar Poce
 */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface CrudInstanceLabel {

	String value() default "";

	LabelEngine engine() default LabelEngine.EL;

}
